Copyright(C) 1994 Terumasa KODAKA , Takeshi KONO ■未使用[ノーマル] ノーマルモードでは、INT 1DhハンドラはIRET。 ■グラフィックBIOS[ハイレゾ] グラフィックBIOSの概要 o ハイレゾモードでは、グラフィック描画を行うためのグラフィックBIOSを ROM内プログラムが用意している。これは、ノーマルモードのグラフィック BIOSとグラフLIOを合わせたような機能である。ただし、ノーマルモードとの 互換性はない。PC-98LT・HAのグラフィックBIOSとは類似している。 o グラフィックBIOSは、モノクロと16色カラーに対応している。H98 256色 モードはサポートしていない。 o グラフィックBIOSは、テクニカルデータブックに詳細な説明があるため、 本書では最低限の情報を掲載するにとどめた。 表 ハイレゾモードのグラフィックモード ハイレゾ---+---モノクロ---------1120x750ドット +---16色カラー-------1120x750ドット +---H98 256色--------1120x750ドット ・「モノクロ」、「16色カラー」は、ハイレゾモードで必須サポートの グラフィックシステム。 ・「H98 256色」は、PC-H98 + PC-H98-E02(256色ボード)でサポート。 * PC-H98 model80・90・105, PC-H98T model2Cは256色ボードを標準実装 * PC-H98T model1・2は、256色ボードの実装不可 INT 1Dh - Function 00h(ハイレゾ) 分類 GRAPH BIOS 名前 グラフィックBIOSの初期化 (GINIT) 対象 ハイレゾ 入力 AH=00h DS=グラフィックBIOS用作業域のセグメント DS:0100h(DWORD)=中断処理ルーチンのエントリアドレス 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 01h(ハイレゾ) 分類 GRAPH BIOS 名前 モード設定 (GSCREEN) 対象 ハイレゾ 入力 AH=01h DS=グラフィックBIOS用作業域のセグメント DS:0100h(BYTE)=画面モード 00h: カラーグラフィックモード 01h: モノクログラフィックモード FFh: モード変更なし DS:0101h(BYTE)=画面スイッチ 00h: グラフィック画面表示あり・普通描画 01h: グラフィック画面表示あり・高速描画 02h: グラフィック画面表示なし・普通描画 03h: グラフィック画面表示なし・高速描画 FFh: モード変更なし DS:0102h(BYTE)=アクティブ画面 00h: ページ0 01h: ページ1 02h: ページ2 03h: ページ3 FFh: モード変更なし * カラーグラフィックモード時はページ0のみ指定可能 DS:0103h(BYTE)=ディスプレイ画面 bit 7〜4: 0を指定 bit 3: ページ3 bit 2: ページ2 bit 1: ページ1 bit 0: ページ0 1=表示あり 0=表示なし FFh:モード変更なし(画面モード変更時は01hと同等の動作) * カラーグラフィックモード時はページ0のみ指定可能 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 02h(ハイレゾ) 分類 GRAPH BIOS 名前 描画領域の指定 (GVIEW) 対象 ハイレゾ 入力 AH=02h DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=ビューポートの左上X座標(X1) DS:0102h(WORD)=ビューポートの左上Y座標(Y1) DS:0104h(WORD)=ビューポートの右下X座標(X2) DS:0106h(WORD)=ビューポートの右下Y座標(Y2) * X1<X2,Y1<Y2でなければならない DS:0108h(BYTE)=ビューポート内を塗り潰す色 00〜0Fh: 指定パレット番号 FFh : 塗り潰しを行わない DS:0109h(BYTE)=ビューポートの外枠を描く色 00〜0Fh: 指定パレット番号 FFh : 外枠を描かない 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 03h(ハイレゾ) 分類 GRAPH BIOS 名前 フォアグラウンドカラー,バックグラウンドカラーの指定(GCOLOR1) 対象 ハイレゾ 入力 AH=03h DS=グラフィックBIOS用作業域のセグメント DS:0100h(BYTE)=バックグラウンドカラー 00〜0Fh: 指定パレット番号 FFh : 変更しない DS:0101h(BYTE)=フォアグラウンドカラー 00〜0Fh: 指定パレット番号 FFh : 変更しない 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 04h(ハイレゾ) 分類 GRAPH BIOS 名前 パレット番号と表示色の対応 (GCOLOR2) 対象 ハイレゾ 入力 AH=04h DS=グラフィックBIOS用作業域のセグメント DS:0100h(BYTE)=パレット番号 00〜0Fh: 指定パレット番号(カラーグラフィックモードのみ) 80h : 黒パレットレジスタ(モノクログラフィックモードのみ) 81h : 白パレットレジスタ(モノクログラフィックモードのみ) FFh : 全てのパレットレジスタ(カラーグラフィックモードのみ) ■パレット番号=FFh以外のとき DS:0101h(WORD)=表示色コード(0000〜0FFFh) ■パレット番号=FFhのとき DS:0000h(BYTE)=パレット番号(FFhを設定する) DS:0001h(WORD)=パレット番号0の表示色(0000〜0FFFh) DS:0003h(WORD)=パレット番号1の表示色(0000〜0FFFh) : : DS:001Fh(WORD)=パレット番号15の表示色(0000〜0FFFh) 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 05h(ハイレゾ) 分類 GRAPH BIOS 名前 描画領域のクリア (GCLS) 対象 ハイレゾ 入力 AH=05h DS=グラフィックBIOS用作業域のセグメント 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 06h(ハイレゾ) 分類 GRAPH BIOS 名前 ドットの書き込み (GPSET) 対象 ハイレゾ 入力 AH=06h DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=ドットを書き込むX座標 DS:0102h(WORD)=ドットを書き込むY座標 DS:0104h(BYTE)=パレット番号 00〜0Fh: 指定パレット番号 FFh : ALレジスタの動作モード指定に従ったパレット番号で書き込む AL=動作モード指定(DS:0104h=FFhのとき) 01h: フォアグラウンドカラーのパレット番号で書き込む 02h: バックグラウンドカラーのパレット番号で書き込む 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 07h(ハイレゾ) 分類 GRAPH BIOS 名前 直線、矩形の描画 (GLINE) 対象 ハイレゾ 入力 AH=07h DS=グラフィックBIOS用作業域のセグメント (1)直線、矩形の場合 DS:0100h(WORD)=描画始点のX座標(X1) DS:0102h(WORD)=描画始点のY座標(Y1) DS:0104h(WORD)=描画終点のX座標(X2) DS:0106h(WORD)=描画終点のY座標(Y2) DS:0108h(BYTE)=矩形枠の色 00〜0Fh: パレット番号 FFh : フォアグラウンドカラーで描画 DS:0109h(BYTE)=描画コード 00h: 直線描画指定 01h: 矩形描画指定 02h: 矩形塗り潰し描画指定 ■描画コード=直線・矩形描画指定のとき DS:010Ah(BYTE)=スイッチ(ラインスタイルの指定の有無) 00h: ラインスタイルの指定なし 01h: ラインスタイルの指定あり DS:010Bh(WORD)=ラインスタイル * 直線、矩形を描く線のパターンを16ビットで指定する。¥ 実線で描画するときはFFFFh。bit 0が画面上の左側、¥ bit 15が画面上の右側に対応する。 ■描画コード=矩形塗り潰し描画指定のとき DS:010Ah(BYTE)=スイッチ 00h: 塗り潰し色・タイルパターンを指定しない 01h: 矩形塗り潰し色を指定する 02h: タイルパターンを指定する DS:010Bh(BYTE)=矩形塗り潰し色(スイッチ=01hのとき有効) 00〜0Fh: 指定のパレット番号で塗り潰す DS:010Ch(BYTE)=使用しない DS:010Dh(BYTE)=タイルパターン長(スイッチ=02hのとき有効) 00〜FFh: タイルパターン格納域長 DS:010Eh(DWORD)=タイルパターン格納域の先頭アドレス(スイッチ=02hのとき有効) 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 08h(ハイレゾ) 分類 GRAPH BIOS 名前 円、楕円の描画 (GCIRCLE) 対象 ハイレゾ 入力 AH=08h DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=中心点のX座標(CX) DS:0102h(WORD)=中心点のY座標(CY) DS:0104h(WORD)=X軸方向の半径(RX) DS:0106h(WORD)=Y軸方向の半径(RY) DS:0108h(BYTE)=円周の描画色 00〜0Fh: パレット番号 FFh : フォアグラウンドカラーで描画 DS:0109h(BYTE)=フラグ bit 7: 未使用 bit 6: タイルパターン指定(1=あり,0=なし) bit 5: 塗り潰し(1=する,0=しない) bit 4: 開始点、終了点一致時の描画指定方法¥ (1=一致点のみ描画,0=全楕円を描画) bit 3: 終了線分描画(1=あり,0=なし) bit 2: 終了点指定(1=あり,0=なし) bit 1: 開始線分描画(1=あり,0=なし) bit 0: 開始点指定(1=あり,0=なし) DS:010Ah(WORD)=開始点のX座標(SX) DS:010Ch(WORD)=開始点のY座標(SY) DS:010Eh(WORD)=終了点のX座標(EX) DS:0110h(WORD)=終了点のY座標(EY) ■フラグ bit 6,5=01bのとき DS:0112h(BYTE)=図形内部を塗り潰す色 00〜0Fh: パレット番号 FFh : 円周の描画色と同じ ■フラグ bit 6,5=11bのとき DS:0112h(BYTE)=タイルパターン長 00〜FFh: タイルパターン格納域長 DS:0113h(DWORD)=タイルパターン格納域の先頭アドレス 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し 06h=オーバーフロー AL=不定 解説 o 関連 INT 1Dh - Function 09h(ハイレゾ) 分類 GRAPH BIOS 名前 指定色による塗りつぶし (GPAINT1) 対象 ハイレゾ 入力 AH=09h DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=塗り潰し開始点のX座標 DS:0102h(WORD)=塗り潰し開始点のY座標 DS:0104h(BYTE)=領域色パレット番号 00〜0Fh: 指定パレット番号 FFh : フォアグラウンドカラーで塗り潰し DS:0105h(BYTE)=境界色パレット番号 00〜0Fh: 指定パレット番号 FFh : フォアグラウンドカラーを境界色に指定 DS:0106h(WORD)=作業域の最終オフセットアドレス DS:0108h(WORD)=作業域の先頭オフセットアドレス 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し 07h=作業域不足のため、処理中断 AL=不定 解説 o 関連 INT 1Dh - Function 0Ah(ハイレゾ) 分類 GRAPH BIOS 名前 タイルパターンによる塗りつぶし (GPAINT2) 対象 ハイレゾ 入力 AH=0Ah DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=塗り潰し開始点のX座標 DS:0102h(WORD)=塗り潰し開始点のY座標 DS:0104h(BYTE)=タイルパターン長 01〜FFh(モノクロのとき) 04〜FFh(カラーのとき) DS:0105h(DWORD)=タイルパターン格納域の先頭アドレス DS:0109h(BYTE)=境界色パレット番号 00〜0Fh: 指定パレット番号 FFh : フォアグラウンドカラーを境界色に指定 DS:010Ah(WORD)=作業域の最終オフセットアドレス DS:010Ch(WORD)=作業域の先頭オフセットアドレス 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し 07h=作業域不足のため、処理中断 AL=不定 解説 o 関連 INT 1Dh - Function 0Bh(ハイレゾ) 分類 GRAPH BIOS 名前 画面イメージの格納 (GGET) 対象 ハイレゾ 入力 AH=0Bh DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=指定領域の左上X座標(X1) DS:0102h(WORD)=指定領域の左上Y座標(Y1) DS:0104h(WORD)=指定領域の右下X座標(X2) DS:0106h(WORD)=指定領域の右下Y座標(Y2) DS:0108h(DWORD)=格納域の先頭アドレス DS:010Ch(WORD)=格納域の長さ 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 0Ch(ハイレゾ) 分類 GRAPH BIOS 名前 画面イメージの復帰 (GPUT1) 対象 ハイレゾ 入力 AH=0Ch DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=描画領域の左上X座標(X1) DS:0102h(WORD)=描画領域の左上Y座標(Y1) DS:0104h(DWORD)=格納域の先頭アドレス DS:0108h(WORD)=格納域の長さ DS:010Ah(BYTE)=描画モード 00h=格納域のイメージをそのまま描画 01h=格納域のイメージをNOTして描画 02h=格納域のイメージと元の画面パターンとをORして描画 03h=格納域のイメージと元の画面パターンとをANDして描画 04h=格納域のイメージと元の画面パターンとをXORして描画 DS:010Bh(BYTE)=カラースイッチ 00h: 格納域内のデータを現在のモードで扱う 01h: 格納域内のデータをモノクロモードで扱う ■カラースイッチ=01hのとき DS:010Ch(BYTE)=モノクロモードで格納されている描画パターンの白のドット¥ を描画するときのパレット番号を指定(00〜0Fh) DS:010Dh(BYTE)=モノクロモードで格納されている描画パターンの黒のドット¥ を描画するときのパレット番号を指定(00〜0Fh) 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 0Dh(ハイレゾ) 分類 GRAPH BIOS 名前 日本語の描画 (GPUT2) 対象 ハイレゾ 入力 AH=0Dh DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=描画領域の左上X座標 DS:0102h(WORD)=描画領域の左上Y座標 DS:0104h(WORD)=日本語JISコード DS:0106h(BYTE)=描画モード 00h=日本語文字をそのまま描画 01h=日本語文字をNOTして描画 02h=日本語文字と元の画面パターンとをORして描画 03h=日本語文字と元の画面パターンとをANDして描画 04h=日本語文字と元の画面パターンとをXORして描画 DS:0107h(BYTE)=カラースイッチ 00h: 色指定なし 01h: フォアグラウンドカラー・バックグラウンドカラーの指定あり DS:0108h(BYTE)=フォアグラウンドカラー DS:0109h(BYTE)=バックグラウンドカラー 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 0Eh(ハイレゾ) 分類 GRAPH BIOS 名前 画面イメージの移動 (GROLL) 対象 ハイレゾ 入力 AH=0Eh DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=上下方向に移動するドット数 +1〜+935: 上方向 -935〜-1: 下方向 DS:0102h(WORD)=左右方向に移動するドット数 +1〜+1119: 左方向 -1119〜-1: 右方向 * 実際には、指定された値の絶対値以下で、¥ 最も近い8の倍数分だけ移動する DS:0104h(BYTE)=クリアフラグ 00h: 移動後の残りの領域をパレット0で埋める 01h: 移動後の残りの領域をバックグラウンドカラーで埋める 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 0Fh(ハイレゾ) 分類 GRAPH BIOS 名前 指定ドットのパレット番号の取得 (GPOINT2) 対象 ハイレゾ 入力 AH=0Fh DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=パレット番号を求めるドットのX座標 DS:0102h(WORD)=パレット番号を求めるドットのY座標 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し ■モノクログラフィックモードのとき AL=00h: 黒 01h: 白 ■カラーグラフィックモードのとき AL=00〜0Fh: パレット番号 FFh : 指定座標がアクティブ画面のビューポート外 解説 o 関連 INT 1Dh - Function 10h(ハイレゾ) 分類 GRAPH BIOS 名前 表示領域の設定 (GSCROLL) 対象 ハイレゾ 入力 AH=10h DS=グラフィックBIOS用作業域のセグメント DS:0100h(WORD)=表示開始Y座標 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 11h 分類 GRAPH BIOS 名前 グラフィック画面の表示開始 (GSTART) 対象 ハイレゾ 入力 AH=11h DS=グラフィックBIOS用作業域のセグメント 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 12h 分類 GRAPH BIOS 名前 グラフィック画面の表示停止 (GSTOP) 対象 ハイレゾ 入力 AH=12h DS=グラフィックBIOS用作業域のセグメント 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連 INT 1Dh - Function 13h 分類 GRAPH BIOS 名前 グラフィックBOISの終了 (GTERM) 対象 ハイレゾ 入力 AH=13h DS=グラフィックBIOS用作業域のセグメント 出力 AH=終了ステータス 00h=正常終了 05h=不正呼び出し AL=不定 解説 o 関連